package com.orientation.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.orientation.entity.College;
import com.orientation.vo.CollegeInfoVo;
import com.orientation.vo.CollegeMajorVo;
import com.orientation.vo.CollegeTreeVo;
import com.orientation.vo.ReserveCollegeVo;

import java.util.List;

/**
 * <p>
 * 学院 服务类
 * </p>
 *
 * @author xuandian
 * @since 2022-3-9
 */
public interface CollegeService extends IService<College> {
    /**
     * 学院男女信息统计
     *
     * @return null
     */

    List<CollegeInfoVo> findCollegeInfo();

    /**
     * 按照不同维度统计男女学生信息统计
     * @param collegeName
     * @param majorName
     * @return
     */
    //todo 残次代码  不符合预期结果  匹配问题
    List<CollegeInfoVo> queryCollegeInfo(String collegeName,String majorName,String collegeId);

    /**
     * 学院查询
     *
     * @return College
     */
    List<College> getAllCollege();

    /**
     * 按照院系分页查询
     *
     * @param pageNum
     * @param pageSize
     * @param collegeName
     * @return null
     */

     IPage<College> getCollege(Integer pageNum, Integer pageSize, String collegeName);
   // Page<College> getCollege(Integer pageNum, Integer pageSize, String collegeName);


    /**
     * 添加学院信息
     *
     * @param college
     */
    void insertCollege(College college);

    /**、
     *
     * @return CollegeMajorVo
     */
    List<CollegeMajorVo> MajorVos();

    /** 二级学院书
     * 书树状图学学院 专业信息
     * @return
     */

    List<CollegeTreeVo> findTree(String adviserId);
    /** 三级级学院书
     * 书树状图学学院 专业信息
     * @return
     */

    List<CollegeTreeVo> ThreeTree(String adviserId);

    /**
     * 分页统计
     * @param pageNum
     * @param pageSize
     * @param collegeId
     * @param majorId
     * @return
     */
    Page<ReserveCollegeVo> queryReserveRate(Integer pageNum, Integer pageSize, String collegeId, String majorId, String classId, String type);

}